import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  /* 这是接收数据的 */
  state: {
    //声明一个数据来保存从页面发过来的数据
    getlist: [],
  },
  /* 这是修改数据的 */
  mutations: {
    //接收从页面发过来的数据
    CHANGESHUJU(state, data) {
      state.getlist = data
    },
    //接收点击传过来的值
    CHANGECLICK(state, data) {
      //接收之后就可以重新给num赋值
      state.getlist.forEach(item => {
        item.foods.forEach(val => {
          if (val.id == data.id) {
            val.num = val.num + data.num
          }
        })
      })
    }
  },
  //仓库中的过滤器
  getters: {
    //在这里把加入购物车的属性过滤出来  传给尾部 然后渲染 在过滤函数中传入它
    getlfliter(state) {
      let newarr = []
      state.getlist.forEach(item => {
        item.foods.forEach(val => {
          if (val.num > 0) {
            newarr.push(val);
          }
        })
      })
      return newarr
    }

  },
  //异步函数修改
  actions: {
  },
  modules: {
  }
})
